package com.mfn.sportjava.knowledge.service;

import com.mfn.sportjava.knowledge.model.KnowledgeEntry;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.transaction.annotation.Transactional; // 确保导入

import java.util.List;

/**
 * @author Anyang
 * @version 1.0.0
 * @date 2025/04/16 11:04:50
 * @description 专门用于将 KnowledgeEntry 实体持久化到主数据存储 (MySQL) 和向量存储 (Milvus) 的服务接口
 * @className java.lang.String
 */
public interface KnowledgePersistenceService {

    /**
     * 保存或更新单个知识条目。
     * @param entry 要保存或更新的条目。
     * @return 保存或更新后的条目。
     */
    KnowledgeEntry saveOrUpdateKnowledge(KnowledgeEntry entry);

    /**
     * 批量保存或更新知识条目。
     * @param entries 要保存或更新的条目列表。
     * @return 保存或更新后的条目列表。
     */
    List<KnowledgeEntry> saveOrUpdateKnowledgeBatch(List<KnowledgeEntry> entries);

}
